package com.matrix.quartz.dao;

import java.util.List;
import java.util.Map;

import com.matrix.quartz.bean.QuartzJobDefinition;
import org.apache.ibatis.annotations.Param;

import com.matrix.core.pojo.PaginationVO;

/**
 * @description (定时任务主表)
 * @author zhangheng
 * @date 2019-01-14 11:03
 */
public interface QuartzJobDefinitionDao {

	public int insert(@Param("item") QuartzJobDefinition quartzJobDefinition);

	public int batchInsert(@Param("list") List<QuartzJobDefinition> quartzJobDefinitionList);

	public int updateByMap(Map<String, Object> modifyMap);

	public int updateByModel(@Param("record") QuartzJobDefinition quartzJobDefinition);

	public int deleteByIds(@Param("list") List<String> list);

	public int deleteById(Integer jdId);

	public int deleteByModel(@Param("record") QuartzJobDefinition quartzJobDefinition);

	public List<QuartzJobDefinition> selectInPage(@Param("record") QuartzJobDefinition quartzJobDefinition,
                                                  @Param("pageVo") PaginationVO pageVo);

	public List<QuartzJobDefinition> selectByModel(@Param("record") QuartzJobDefinition quartzJobDefinition);

	public int selectTotalRecord(@Param("record") QuartzJobDefinition quartzJobDefinition);

	public QuartzJobDefinition selectById(Integer jdId);

	public QuartzJobDefinition selectForUpdate(Integer jdId);

	/**
	 * 根据ID集合批量查询
	 * 
	 * @author zhangheng
	 * @email 512061637@qq.com
	 * @date 2019年1月17日
	 * @param idList
	 * @return
	 */
	public List<QuartzJobDefinition> selectByJdIdList(@Param("list") List<String> idList);

}